/* 为正文添加样式 */
@keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

body {
    background: linear-gradient(-45deg, #ee7752, #e73c7e, #a86ff5, #23d5ab); /* 更新渐变色 */
    background-size: 400% 400%; /* 使渐变更大以进行动画 */
    animation: gradientAnimation 15s ease infinite; /* 应用动画 */
    font-family: sans-serif; /* 基本 sans-serif 字体 */
    color: #333; /* 默认文本颜色 */
    margin: 0;
    padding: 20px;
    min-height: 100vh; /* 确保身体占据整个高度 */
}

/* 新包装器的样式 */
.main-content-wrapper {
    display: flex;
    flex-direction: column; /* 垂直堆叠子元素 */
    align-items: center; /* 水平居中对齐子元素 */
    width: 100%; /* 占据全部可用宽度 */
}

/* 调整容器样式 */
.container {
    /* 移除边框和背景以显示身体渐变 */
    /* border: 1px solid black; */
    /* background-color: white; */
    display: block; /* 确保它被视为块级元素 */
    margin-top: 20px;
    margin-bottom: 20px;
    /* width: 95%; 移除百分比宽度 */
    max-width: 1400px; /* 增加最大宽度以显示更宽的聊天区域 */
    /* 移除 margin auto，因为父级柔性处理居中 */
    /* margin-left: auto; */
    /* margin-right: auto; */
    padding-left: 15px; /* 添加内容间距 */
    padding-right: 15px; /* 添加内容间距 */
    box-sizing: border-box; /* 包含填充在内的宽度计算 */
}

/* 样式主视觉化按钮容器 */
.visualizer-container {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* 对齐盒子到顶部 */
    gap: 30px; /* 添加盒子之间的间距 */
    margin-bottom: 30px; /* 添加下边距 */
}

/* 样式单个视觉化盒子 */
.visualizer-box {
    /* width: 30%; 移除固定百分比 */
    flex: 1; /* 允许盒子增长 */
    max-width: 400px; /* 限制每个盒子的最大宽度 */
    text-align: center;
}

/* 样式主视觉化按钮 */
.visualizer-box button {
    background-color: #f8f9fa;
    color: #343a40;
    border: none;
    border-radius: 8px;
    padding: 12px 25px;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    margin-bottom: 5px; /* 添加按钮和文本之间的间距 */
}

.visualizer-box button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* 样式视觉化信息文本 */
.visualizer-info {
    font-size: 14px;
    color: #f0f0f0; /* 更轻的文本以获得更好的渐变对比 */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1); /* 轻微的阴影 */
}

/* 样式自定义文本块 */
.custom-text-block {
    background-color: rgba(255, 255, 255, 0.85);
    padding: 15px;
    border-radius: 8px;
    /* margin: 30px auto; 移除 margin auto，因为父级柔性处理居中 */
    margin-top: 30px; /* 保持上边距 */
    margin-bottom: 30px; /* 保持下边距 */
    text-align: center;
    font-size: 16px;
    color: #333;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    max-width: 900px;
    width: 90%; /* 保持宽度相对于父级 */
}

/* 样式聊天表单容器 */
.chat-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    /* margin: 20px auto; 移除 margin auto，因为父级柔性处理居中 */
    margin-top: 0; /* 调整 margin 因为父级容器处理间距 */
    margin-bottom: 20px;
    margin-left: auto; /* 重新添加 margin auto 以在父级中居中 */
    margin-right: auto; /* 重新添加 margin auto 以在父级中居中 */
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    max-width: 900px;
    /* width: 100%; 移除 width: 100% */
    flex-wrap: wrap;
    box-sizing: border-box;
}

/* 样式表单标签 */
.chat-form label {
    color: #f0f0f0; /* 更轻的文本 */
    margin-bottom: 0; /* 与输入对齐 */
    margin-right: 5px;
    font-weight: bold;
}

/* 样式表单输入字段 */
.chat-form .form-control {
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 8px;
    padding: 8px 12px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    min-width: 150px; /* 确保输入有宽度 */
}

/* 样式发送消息按钮 */
#sendMessageButton {
    background-color: #4a90e2; /* 稍微更亮的蓝色 */
    border-color: #4a90e2;
    color: #fff;
    border-radius: 6px; /* 稍微不那么圆 */
    padding: 10px 20px; /* 增加填充 */
    font-size: 15px; /* 增加字体大小 */
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); /* 稍微更强的阴影 */
    transition: background-color 0.2s ease, transform 0.1s ease;
    cursor: pointer;
}

#sendMessageButton:hover {
    background-color: #357abd; /* 更深的蓝色 */
    border-color: #357abd;
    transform: translateY(-1px); /* 轻微的提升效果 */
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2); 
}

#sendMessageButton:active {
    transform: translateY(0px); /* 按压效果 */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

/* 以下是现有的样式 - 添加一个注释以指示原始样式的开始 */
/* --- 原始样式开始 --- */

.message-container {
  position: relative;
  align-items: flex-start; 
  margin: 10px 5px; /* 稍微减少水平边距 */
  max-width: 95%; /* 增加消息宽度 */
  word-wrap: break-word;
  padding-top: 20px; /* 添加角色文本的空间 */
}

.message-text {
    background-color: #fff; /* 默认白色背景 */
    color: #333;
    border-radius: 8px;
    padding: 10px 15px;
    margin-left: 50px; /* 头像的空间 */
    font-size: 14px; /* 增加基础字体大小 */
    line-height: 1.4;
    width: auto; /* 适应内容 */
    display: inline-block; /* 适应内容 */
    position: relative; /* 需要伪元素尾部的伪元素 */
    box-shadow: 0 1px 2px rgba(0,0,0,0.1); 
    max-width: calc(100% - 55px); /* 确保文本适合头像旁边 */
    text-align: left; /* 默认文本对齐 */
}

/* 添加气泡尾部用于非系统消息 */
.message-text:not(.system-message)::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 12px; /* 调整垂直位置 */
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 8px solid #fff; /* 尾部颜色匹配背景 */
}

.avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: absolute;
    top: 20px; /* 与顶部填充对齐 */
    left: 0; /* 定位到最左边 */
    /* margin-left: 20px; Remove */
    background-color: green; /* 保持默认或使用图像 */
    background-size: cover;
}

.role {
    font-size: 12px;
    font-weight: bold;
    color: #888; /* 角色更轻的颜色 */
    position: absolute;
    top: 0; /* 在容器顶部上方 */
    left: 50px; /* 与消息文本边距对齐 */
    /* margin-top: 10px; Remove */
    /* margin-left: 40px; Remove */
}

/* System message specific styles */
.message-text.system-message {
    background-color: #ebebeb; /* 浅灰色背景 */
    color: #666;
    font-size: 12px;
    text-align: center;
    margin: 5px auto; /* 居中 */
    padding: 5px 10px;
    box-shadow: none; /* 无阴影用于系统消息 */
    display: block; /* 使其占据块空间以进行居中 */
    max-width: 80%; /* 限制宽度 */
}

/* 移除系统消息的尾部（冗余但明确） */
.message-text.system-message::before {
    display: none;
}

/* 调整气泡内的代码块样式 */
.message-text .code-block {
    margin-top: 8px;
    margin-bottom: 5px;
}

.message-text .code-block-header {
    font-size: 12px; /* 更小的标题 */
    padding: 3px 8px;
}

.code-block pre {
    margin: 0;
}

.dark {
    color: #000000;
}

.line-numbers .line-numbers-rows {
    border-right-color: #44475a;
    display: block; /* 添加此项以确保显示行号 */
}

.code-block-header {
    background-color: #5b5656;
    color: #ffffff;
    padding: 5px;
    font-size: 14px;
    font-weight: bold;
}

.code-block {
    background-color: #000000 !important;
    border-radius: 4px;
    margin-top: 10px;
    position: relative;
    overflow: hidden;
    color: #000000; /* 添加文本颜色以进行语法高亮 */
}

table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  border: 1px solid black;
  padding: 8px;
  text-align: left;
  white-space: pre-line;
}

/* --- Button Styles --- */
.expand-button, .copy-button {
    position: absolute;
    top: 5px; /* 调整垂直位置 */
    border: 1px solid #ddd; /* 微妙的边框 */
    background-color: #f8f8f8; /* 浅色背景 */
    color: #555; /* 更深的文本 */
    border-radius: 4px;
    padding: 3px 8px; /* 调整填充 */
    cursor: pointer;
    font-size: 11px; /* 稍大的字体 */
    font-weight: normal; /* 正常重量 */
    line-height: 1.2; /* 调整行高 */
    transition: background-color 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 1px 1px rgba(0,0,0,0.05);
}

.expand-button:hover, .copy-button:hover {
  background-color: #eee; /* 悬停时稍暗 */
  border-color: #ccc;
}

.expand-button {
  right: 70px; /* 位置展开按钮 */
  /* width: auto; 删除固定宽度 */
  /* height: auto; 删除固定高度 */

}

.copy-button {
    right: 5px; /* 位置复制按钮 */
    /* width: auto; 删除固定宽度 */
    /* height: auto; 删除固定高度 */
}

/* 复制按钮的样式，当文本被复制时 */
.copy-button.copied {
    background-color: #d4edda; /* 绿色背景 */
    border-color: #c3e6cb;
    color: #155724;
}

/* 调整聊天区域的容器样式 */
.container#chat-box {
    /* 现有的样式，如最大宽度、填充、box-sizing */
    display: block; 
    margin-top: 20px;
    margin-bottom: 20px;
    max-width: 1400px; 
    padding-left: 15px; 
    padding-right: 15px; 
    padding-top: 20px; /* 添加顶部/底部填充 */
    padding-bottom: 20px; /* 添加顶部/底部填充 */
    box-sizing: border-box; 
    /* 使容器与众不同 */
    background-color: rgba(255, 255, 255, 0.15); /* 稍微不透明的白色 */
    border-radius: 10px; /* 容器的圆角 */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 轻微的阴影以增加深度 */
    /* 确保 margin auto 正确工作 - 如果仍有问题，可能需要父级调整 */
     margin-left: auto; 
     margin-right: auto; 
}
